package com.atguigu04.example.exer5_objarr;

/**
 * ClassName: StudentTest
 * Package: com.atguigu04.example.exer5_objarr
 * Description:1）定义类Student，包含三个属性：学号number(int)，年级state(int)，成绩score(int)。
 *              2）创建20个学生对象，学号为1到20，年级和成绩都由随机数确定。
 *              问题一：打印出3年级(state值为3）的学生信息。
 *              问题二：使用冒泡排序按学生成绩排序，并遍历所有学生信息
 *
 * @Author BuTang
 * @Create 2023/2/27 21:25
 * @Version 1.0
 */
public class StudentTest {
    public static void main(String[] args) {
        Student[] stu = new Student[20];
        for (int i = 0; i < stu.length; i++) {
            stu[i] = new Student(); //创建数组
            stu[i].number = i+1;
            stu[i].grade = (int) (Math.random()*6+1);
            stu[i].socre = (int)(Math.random()*100);
            if (stu[i].grade ==3) {
                System.out.print("[");
                System.out.print("年级是"+ stu[i].grade+"学号是" +stu[i].number+"成绩是"+stu[i].socre);
                System.out.println("]");
            }
        }
        Student temp ;
        System.out.println();
        for (int i = 0; i < stu.length; i++) {
            boolean flag = true;
            for (int j = 0; j < stu.length-1 ;j++) {
                if (stu[j].socre >= stu[j+1].socre) {
                    temp = stu[j];
                    stu[j] = stu[j+1];
                    stu[j+1]=temp;
                    flag =false;
                }
            }
            if (flag ==true ) {
                break;
            }
        }
        for (int i = 0; i < stu.length; i++) {
            System.out.print("年级是"+ stu[i].grade+"学号是" +stu[i].number+"成绩是"+stu[i].socre+"\n");

        }
    }
}
